تفاوت بین AVR ARM و FPGA براي این که بتوانیم تفاوت بین اینها را درك کنیم ابتدا به بیان ساختار هر یک و کاربردهایشان میپردازیم: میکرو کنترلر AVR میکرو کنترلرهاي AVR داراي معماري هر کلاك میتوانند یک دستور ساده عموما Architecture) (Reduced Instructin Set میباشند یعنی در RISC 8 بیتی میباشند. خانواده آورده شده است: میکرو کنترلرهاي مانند جابجایی عدد از حافظه به رجیستر را انجام دهند. این میکروها خانواده میباشد 5 شامل AVR که در ادامه به همراه ویژگی هر 1 تا 16 کیلو بایت حافظه فلش 8 تا 32 پایه 4 تا 256 کیلوبایت حافظه فلش 28 تا 100 پایه tinyavr megaavr AVR XMEGA 16 تا 384 کیلوبایت حافظه فلش 44 تا 100 پایه 64 تا 512 کیلوبایت حافظه فلش 48 تا 144 پایه AVR32 UC3 AVR32 AP7 فرکانس 150 مگا هرتز 196 تا 256 پایه (1 (2 (3 (4 (5 این میکرو کنترلرها براي کارهاي کنترلی مناست میباشند. در حقیقت میکروکنترلرها براي انجام پروژههاي کوچک جایی که نیاز به عملیات پردازشی نمیباشد بهترین انتخاب میباشند. کاربردهاي AVR عبارتند از:
نویسنده: امیرحیسن رستمی استفاده در سیستمهاي امنیتی استفاده در پرینترها کنترل روشنایی کنترل موتور ARM7 ARM ARM یک میکرو کنترلر یا میکروپروسسور 32 بیتی با معماري RISC میباشد. با فرکانس کاري بین 66 مگاهرتز تا 133 مگاهرتز میباشد. در حالی که ARM11 یک میکروکنترلر قوي یک میکروپروسسور با فرکانس کاري بین 350 تا 550 مگاهرتز میباشد. این میکروها داراي کاربردهاي مختلف و زیادي میباشند و بیشتر در سیستمهاي کاربر پسند که نیازمند ظاهري زیبا میباشند استفاده میشوند. دلیل این امر این است که ARM براي اجراي سیستم عاملهاي مختلف مانند لینوکس و ویندوز CE برنامه مورد نظر خود را در برنامه ویژوال استودیو به صورت گرافیکی بنویسد به صورت فایل روي سیستم عامل این پردازنده نصب کند. از کاربردهاي ARM میتوان به موارد زیر اشاره کرد: مناسب میباشد. کاربرد میتواند دربیاورد و.exe پایانههاي بانکی POS سیستمهاي موقعیت یاب GPS تلفنهاي همراه (مانند (N8 دوربینهاي عکس برداري و فیلم برداري دیجیتال Micrsft Surface تبلت دستیار دیجیتالی شخصی یا PDA
تفاوت بین AVR ARM و FPGA واژه مخفف Digital Signal Prcessing یا Digital Signal Prcessr می باشد. پردازش سیگنال هاي دیجیتال( prcessing (Digital signal شامل نمایش دیجیتالی سیگنال ها و استفاده از سیستم هاي دیجیتالی براي تحلیل کردن تغییر دادن ذخیره سازي یا استخراج اطلاعات از سیگنال هاي دیجیتالی می باشد. prcessr) (digital signal مدار مجتمعی است که براي پردازش دیتا با سرعت بالا طراحی شده است و در صدا تصویر مخابرات و... کاربرد دارد. پردازش سیگنال هاي دیجیتالی به طور طبیعی نیازمند تعداد زیادي محاسبات به صورت A=B C+D می باشد. شاید این عمل ساده به نظر برسد اما وقتی که به سرعت نیز نیازمندیم اختصاص دادن یک سخت افزار براي اجراي این عمل خیلی مفید خواهد بود. بیشتر ها دستور عمل ویژه اي دارند که به آن ها اجازه می دهد که عملیات ضرب جمع و ذخیره کردن نتیجه را در یک سیکل انجام دهند. این دستور عمل معمولا MAC (Multiply,Accumulate) نامیده می شود. امروزه انواع مختلفی از پردازنده هاي پردارنده هاي به صورت تجاري در دسترس هستند. در جدول زیر تعدادي از رایج خلاصه شده اند.
نویسنده: امیرحیسن رستمی در گروه ساده و ارزان قیمت از شرکت TI خانواده TMS320C2000 (C24x and C28x) از شرکت Analg Devices خانواده A-218x و از شرکت Freescale خانواده 568xx قرار دارند. این پردازنده هاي شامل ضرب کننده هاي سخت افزاري و شیفت دادن هستند و در هر سیکل یک دستورعمل را اجرا می کنند. همچنین آن ها از دستورعمل هاي پیچیده اي که چندین عملیات را از قبیل ضرب جمع و جدید کردن آدرس اشاره گر اجرا می کنند استفاده می کنند. آن ها کارایی خوب را همراه با مصرف برق و حافظه مورد استفاده نسبتا کم فراهم می کنند. بنابراین به طور گسترده در وسایل موتوري مصرف کننده هاي الکترونیکی درایورهاي هارد دیسک و مودم ها به کار می روند. براي مثال خانواده هاي TMS320C2000 و 568xx براي کاربردهاي موتوري از قبیل کنترل موتور و کنترل اتومبیل با جمع کردن خیلی از ویژگی هاي میکروکنترلرها و دستگاه هاي جانبی داخل یک تراشه بهینه هستند. گروه پردازشگرهاي متوسط شامل TMS320C5000 (C54x and C55x) ساخت شرکت A219x TI A-BF5xx ساخت شرکت Analg Devices و 563xx ساخت شرکت Freescale و می باشد. این پردازنده هاي پیشرفته با بهره گیري از ترکیب افزایش نرخ کلاك و معماري هاي خیلی پیشرفته تر قادرند به عملکرد بالایی دست یابند. این دسته از ها معمولا شامل خط لوله عمیق تر دستورعمل کش دستورعمل هاي پیچیده باس داده چندگانه(براي این که در هر سیکل به چندین داده دست یابند) شتاب دهنده هاي
تفاوت بین AVR ARM و FPGA سخت افزاري اضافی و واحدهاي اجراي موازي براي این عملیات بیشتري به صورت موازي اجرا شوند می باشند. براي مثال TMS320C55x شامل دو واحد ضرب و جمع( MAC ) می باشد. این دسته از ها با بهره گیري از مصرف توان کمتر عملکرد بهتري را فراهم می کنند بنابراین بیشتر در کاربردهاي قابل حمل از قبیل موبایل دستگاه هاي بی سیم دوربین هاي دیجیتالی پخش کننده هاي صوتی و تصویري و دستگاه هاي کمک شنوایی دیجیتالی مورد استفاده قرار می گیرند. کاربردهاي عملی سیستم هاي : از زمان معرفی ها به بازار کاربرد هاي متنوع و گسترده اي پیدا کرده اند. از آن ها در سیتم هاي همچنین کاربرد هاي واقعیت مجازي پیشرفته( virtual-reality (high-end استفاده می شوند. به طور کلی یک تکنولوژي گران نیست. و HI-FI تعدادي از سیستم هاي عملی عبارتند از: تجهیزات Hi-Fi اسباب بازي ها تلفن هاي تصویري مودم ها سیستم هاي صوتی سیستم هاي گرافیکی سه بعدي سیستم هاي پردازش تصویر
نویسنده: امیرحیسن رستمی هاي شرکت هاي خانواده :TMS320 Texas Instruments TI شامل سه دسته C5000 C2000 و C6000 می شوند. C2000 مزیت : ارزان قیمت هستند کاربرد C5000 مزیت سیستم هاي کنترلی از قبیل کنترل موتور ذخیره سازي کنترل دیجیتالی بازده بالا بیشترین Secnd) (Millin Instructins Per در هر وات/هزینه/اندازه MIPS کاربرد تلفن هاي بی سیم پخش کننده هاي صوتی دوربین هاي دیجیتال مودم ها VIP C6000 مزیت کاربرد عملکرد بالا استفاده آسان زیرساخت هاي مخابراتی ایستگاه هاي بی سیم DSL تصویر و ویدي و سرورهاي چند رسانه اي
تفاوت بین AVR ARM و FPGA FPGA FPGAها با استفاده از معماري موازي عالیشان قدرت محاسباتی چشمگیري را براي کارایی خیلی بالا فراهم می کنند. سخت افزار FPGA قابل پیکربندي مجدد می باشد بنابراین به طراحان سیستم این اجازه را می دهد که براي پیاده سازي الگوریتم هایی که نیازمند عملکرد بالا و قیمت تولید کم هستند معماري سخت افزاري را بهینه سازي کنند. مزیت اصلی FPGA این است که داراي معماري خیلی انعطافپذیري میباشد. اما این انعطاف پذیري با پرداخت هزینهي بیشتر در سخت افزار همراه میباشد. یعنی این که انعطافپذیري بیشتر به معنی گیتهاي بیشتر مساحت سطح سیلیکون بیشتر منابع بیشتر براي مسیریابی و در نتیجه مصرف توان بیشتر میباشد. همچنین برنامه نویسی FPGA VHDL مشکل میباشد و نیازمند استفاده از یک زبان سختافزارگرا میباشد. نوشتن کد به زبان پنج برابر بیشتر از نوشتن کد به زبان C طول میکشد. این اشکال روي هزینهي توسعه و زمان عرضهي بردهاي مبتنی بر FPGA به بازار اثر منفی میگذارد مزیت ها: عیب ها: انعطاف پذیري بیشتر نسبت به ASIC عملکرد بالا در بعضی از کاربردها قابلیت استفاده از سخت افزار یکسان براي کاربردهاي مختلف مدت زمان زیادي براي توسعه دادن آن ها طول می کشد نسبت به ها گران تر هستند نسبت به ها توان بیشتري مصرف می کنند نسبت به ها زمان عرضه آن ها به بازار کندتر است در زمینهي تولید FPGA 2 1 دو شرکت بزرگ آلترا و زایلینکس %89 FPGAهاي بازار را تولید میکنند که در بازار ایران نیز موجود میباشند. زالینکس براي سالهاي متمادي است که بزرگترین تولید کنندهي FPGA در 3 جهان میباشد و داراي طیف گستردهاي از FPGAها از لحاظ قیمت و عملکرد میباشد. سري اسپارتان شامل 1 Altera 2 Xilinx 3 Spartan
نویسنده: امیرحیسن رستمی 4 FPGAهاي ارزان قیمت و با قیمت میانی و سري ویرتکس شامل FPGAهاي گران قیمت میباشد. همچنین 7 6 5 FPGAهاي سري سایکلون آریا و استراتیکس آلترا به ترتیب شامل FPGAهاي ارزان قیمت با قیمت میانی و گران قیمت میشوند. به عقیدهي بسیاري از مهندسین FPGAهاي ارزانقیمت آلترا نسبت به FPGAهاي ارزان قیمت زایلینکس عملکرد بالاتري دارند. همچنین بستههاي نرمافزاري آلترا بهتر از کاربر پسند بودن بهتر از زایلینکس میباشند. در مقابل FPGA هاي سري Virtex زایلیکس از خانواده مشابهاش در آلترا قويتر میباشد. در کارهایی که لازم است یک الگوریتم پردازشی روي تعداد زیادي داده به طور همزمان اعمال شود استفاده از FPGA انتخاب بهتري میباشد. کاربردهاي FPGA در ادامه نشان داده شده است. 4 Virtex 5 Cyclne 6 Arria 7 Stratix
تفاوت بین AVR ARM و FPGA جمع بندي پردازندهي ARM نسبت به پردازنده و FPGA داراي مزیتهاي زیر میباشد: پردازندههاي ARM براي استفاده آسانتر هستند و ارزانتر تمام میشوند. پردازندههاي FPGA و بیشتري از پردازندههاي رایج هستند. از لحاظ هزینهي توسعه کلی گرانتر هستند و نیازمند زمان توسعهي در مقایسه با FPGA پردازنده هاي داراي برتري هایی از قبیل سادگی توسعه هستند و داراي قابلیت برنامه ریزي مجدد در مدار براي بروز رسانی و برطرف کردن باگ می باشند. ها از نظر اقتصادي از FPGA
نویسنده: امیرحیسن رستمی به خصوص در کاربردهاي کم حجم با صرفه تر هستند. در مقایسه با μp/μc همه منظوره پردازنده هاي سریع تر داراي بازده بیشتر و ارزان تر هستند. به طور کلی: در کاربردهاي ساده مانند کارهاي کنترلی میکروکنترلرهاي AVR مناسب میباشند در کارهاي کاربرپسند که نیازمند یک رابط کاربري زیبا میباشند پردازندههاي ARM مناسب می - باشند. در کاربردهایی که نیاز است یک الگوریتم پردازشی روي تعدادي زیادي از داده به طور همزمان اعمال شود FPGA مناسب میباشد. در کارهایی که نیازمند سرعت بالا حجم پردازشی زیاد و پردازش پیچیده هستیم مانند کارهاي پردازش سیگنال (صدا تصویر و...) پردازندههاي مناسب میباشد. براي کاربردهایی که ترکیبی از موارد بالا هستند ترکیب پردازندهها گزینه مناسبی میباشند. براي مثال براي کاربردهایی که نیاز به حجم پردازش بالا و محیط کاربر پسندي دارند پردازندههاي map ساخت شرکت شامل یک هسته TI ARM و میباشد مناسب هستند. که